package cn.strive.eams.user.mapper;

import cn.strive.eams.user.pojo.dto.LeaderQuery;
import cn.strive.eams.user.pojo.dto.UserQuery;
import cn.strive.eams.user.pojo.entity.User;
import cn.strive.eams.user.pojo.vo.UserVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface UserMapper {
    UserVO selectByJobNumber(String jobNumber);

    UserVO selectByPhone(String phone);

    List<UserVO> selectAll(UserQuery userQuery);

    void save(User user);

    void update(User user);

    UserVO selectById(Long id);

    int existsByJobNumber(String username);

    void delete(Long id);

    List<UserVO> select_HEADER_OF_SUBJECT(LeaderQuery leaderQuery);

    List<UserVO> select_DIRECTOR_OF_TEACHER(LeaderQuery leaderQuery);

    List<UserVO> select_MANAGEMENT_TEACHER(LeaderQuery leaderQuery);

    List<UserVO> selectAllocation(Long role);

    List<UserVO> selectDrivers();

    List<UserVO> select_ALLOCATION(LeaderQuery leaderQuery);
}
